Method of Digital Labeling Control System Terminals That Enables Guided Wiring

ABSTRACT

Tools and techniques are described to create a controller wiring board. A user, using a user interface associated with a controller, can determine which devices will be attached to a controller. The features of the devices may be already known by the controller. The controller can change wiring terminal types depending on the requirements of the devices wired to the controllers. In some embodiments, a device is wired to a module associated with the controller. The controller can signal to the module to modify its wiring terminal to match the needs of the device to be wired to that location.

RELATED APPLICATION

The present application hereby incorporates by reference the entiretyof, and claims priority to, U.S. Provisional Patent Application Ser. No.63/070,460 filed 26 Aug. 2020.

FIELD

The present disclosure relates to a digital labeling control system thatenables guided wiring. More specifically, to controllers using a swarmof self-healing nodes to control resources.

BACKGROUND

Controlling buildings is a huge problem because the amount of computingpower is so big. To develop a building plan and a wiring diagramcurrently requires IT networking skills, programming skills, andengineering skills. Specifically, programming sequences need to bedetermined manually, manual equipment discovery and wire-up must beseparately (and manually) done using BACNET, DIRECT, etc.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription section. This summary does not identify required oressential features of the claimed subject matter.

In general, one innovative embodiment comprises a method to create awiring panel for a controller. The controller comprises, at least, aprocessor, memory, and wiring terminals. A plurality of point locationsare presented on a display associated with the controller. The pointlocations represent wiring terminals that can be used to wire devices tothe controller. A plurality of device types are listed on thecontroller, the device types representing devices able to be wired tothe controller. The device types have a protocol and a device pointtype. The user can move a device type to a controller point location.The controller can modify its wiring terminal to match the type ofwiring terminal that the device requires.

In some embodiments, the controller has modules that connect to thecontroller. The modules have wiring terminals that are able to connect adevice wire to the controller through a module connection. Some modulesmay have a module circuit board, which can accept a signal from thecontroller, the signal telling the module to modify a terminal such thatit matches the requirements for a device that is to be wired to thatlocation.

In some embodiments, a user can use an interface associated with thecontroller to determine which devices go where on the controller.

The examples given are merely illustrative. This Summary is not intendedto identify key features or essential features of the claimed subjectmatter, nor is it intended to be used to limit the scope of the claimedsubject matter. Rather, this Summary is provided to introduce—in asimplified form—some technical concepts that are further described belowin the Detailed Description. The innovation is defined with claims, andto the extent this Summary conflicts with the claims, the claims shouldprevail.

Additional features and advantages will become apparent from thefollowing detailed description of illustrated embodiments, whichproceeds with reference to accompanying drawings.

BRIEF DESCRIPTION OF THE FIGURES

Non-limiting and non-exhaustive embodiments of the present embodimentsare described with reference to the following FIGURES, wherein likereference numerals refer to like parts throughout the various viewsunless otherwise specified.

FIG. 1 is a functional block diagram showing an exemplary embodiment ofa digital label control system in conjunction which describedembodiments can be implemented.

FIG. 2 is a flow chart showing an exemplary embodiment of creating acontrol system with which described embodiments can be implemented.

FIG. 3 is a diagram representing a relationship between a controller anda physical structure in conjunction which described embodiments can beimplemented.

FIG. 4 is a block diagram describing embodiments of device types inconjunction with which described embodiments can be implemented.

FIG. 5 is a diagram representing a relationship between point locationsand wiring terminals in conjunction with which described embodiments canbe implemented.

FIG. 6 is a flow chart showing an exemplary embodiment of screen actionsin conjunction with which described embodiments can be implemented.

FIG. 7 is an exemplary screen shot in conjunction with which describedembodiments can be implemented.

FIG. 8 is a block diagram showing an exemplary relationship betweencontrollers, modules, and devices, in conjunction with which describedembodiments can be implemented.

FIGS. 9-17 are exemplary screen shots in conjunction with whichdescribed embodiments can be implemented.

FIG. 18 is a drawing of a portion of a controller showing a module inconjunction with which described embodiments can be implemented.

FIG. 19 is a drawing of a module in conjunction with which describedembodiments can be implemented.

FIG. 20 is a diagram of a module circuit board with which describedembodiments can be implemented.

Corresponding reference characters indicate corresponding componentsthroughout the several views of the drawings. Skilled artisans willappreciate that elements in the FIGURES are illustrated for simplicityand clarity and have not necessarily been drawn to scale. For example,the dimensions of some of the elements in the figures may be exaggeratedrelative to other elements to help to improve understanding of variousembodiments. Also, common but well-understood elements that are usefulor necessary in a commercially feasible embodiment are often notdepicted in order to facilitate a less obstructed view of these variousembodiments.

DETAILED DESCRIPTION

Disclosed below are representative embodiments of methods,computer-readable media, and systems having particular applicability tocontrollers using digital labeling to enable guided wiring. In thefollowing description, numerous specific details are set forth in orderto provide a thorough understanding of the present embodiments. It willbe apparent, however, to one having ordinary skill in the art that thespecific detail need not be employed to practice the presentembodiments. In other instances, well-known materials or methods havenot been described in detail in order to avoid obscuring the presentembodiments.“one embodiment”, “an embodiment”, “one example” or “anexample” means that a particular feature, structure or characteristicdescribed in connection with the embodiment or example is included in atleast one embodiment of the present embodiments. Thus, appearances ofthe phrases “in one embodiment”, “in an embodiment”, “one example” or“an example” in various places throughout this specification are notnecessarily all referring to the same embodiment or example.Modifications, additions, or omissions may be made to the systems,apparatuses, and methods described herein without departing from thescope of the disclosure. For example, the components of the systems andapparatuses may be integrated or separated. Moreover, the operations ofthe systems and apparatuses disclosed herein may be performed by more,fewer, or other components and the methods described may include more,fewer, or other steps. Additionally, steps may be performed in anysuitable order.

In addition, it is appreciated that the figures provided herewith arefor explanation purposes to persons ordinarily skilled in the art andthat the drawings are not necessarily drawn to scale. To aid the PatentOffice and any readers of any patent issued on this application ininterpreting the claims appended hereto, applicants wish to note thatthey do not intend any of the appended claims or claim elements toinvoke 35 U.S.C. 112(f) unless the words “means for” or “step for” areexplicitly used in the particular claim.

Embodiments in accordance with the present embodiments may beimplemented as an apparatus, method, or computer program product.Accordingly, the present embodiments may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.), or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “module” or “system.” Furthermore, the presentembodiments may take the form of a computer program product embodied inany tangible medium of expression having computer-usable program codeembodied in the medium.

Any combination of one or more computer-usable or computer-readablemedia may be utilized. For example, a computer-readable medium mayinclude one or more of a portable computer diskette, a hard disk, arandom access memory (RAM) device, a read-only memory (ROM) device, anerasable programmable read-only memory (EPROM or Flash memory) device, aportable compact disc read-only memory (CDROM), an optical storagedevice, and a magnetic storage device. Computer program code forcarrying out operations of the present embodiments may be written in anycombination of one or more programming languages.

The flowchart and block diagrams in the flow diagrams illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present embodiments. In this regard, each block inthe flowchart or block diagrams may represent a module, segment, orportion of code, which comprises one or more executable instructions forimplementing the specified logical function(s). It will also be notedthat each block of the block diagrams and/or flowchart illustrations,and combinations of blocks in the block diagrams and/or flowchartillustrations, may be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions. These computerprogram instructions may also be stored in a computer-readable mediumthat can direct a computer or other programmable data processingapparatus to function in a particular manner, such that the instructionsstored in the computer-readable medium produce an article of manufactureincluding instruction means which implement the function/act specifiedin the flowchart and/or block diagram block or blocks.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having,” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a process,article, or apparatus that comprises a list of elements is notnecessarily limited to only those elements but may include otherelements not expressly listed or inherent to such process, article, orapparatus.

Further, unless expressly stated to the contrary, “or” refers to aninclusive or and not to an exclusive or. For example, a condition A or Bis satisfied by any one of the following: A is true (or present) and Bis false (or not present), A is false (or not present) and B is true (orpresent), and both A and B are true (or present). “Program” is usedbroadly herein, to include applications, kernels, drivers, interrupthandlers, firmware, state machines, libraries, and other code written byprogrammers (who are also referred to as developers) and/orautomatically generated. “Optimize” means to improve, not necessarily toperfect. For example, it may be possible to make further improvements ina program or an algorithm which has been optimized.

“Automatically” means by use of automation (e.g., general purposecomputing hardware configured by software for specific operations andtechnical effects discussed herein), as opposed to without automation.In particular, steps performed “automatically” are not performed by handon paper or in a person's mind, although they may be initiated by ahuman person or guided interactively by a human person. Automatic stepsare performed with a machine in order to obtain one or more technicaleffects that would not be realized without the technical interactionsthus provided.

Additionally, any examples or illustrations given herein are not to beregarded in any way as restrictions on, limits to, or expressdefinitions of any term or terms with which they are utilized. Instead,these examples or illustrations are to be regarded as being describedwith respect to one particular embodiment and as being illustrativeonly. Those of ordinary skill in the art will appreciate that any termor terms with which these examples or illustrations are utilized willencompass other embodiments which may or may not be given therewith orelsewhere in the specification and all such embodiments are intended tobe included within the scope of that term or terms. Language designatingsuch nonlimiting examples and illustrations includes, but is not limitedto: “for example,” “for instance,” “e.g.,” and “in one embodiment.”

Various alternatives to the implementations described herein arepossible. For example, embodiments described with reference to flowchartdiagrams can be altered, such as, for example, by changing the orderingof stages shown in the flowcharts, or by repeating or omitting certainstages.

I. Overview

With reference to FIG. 1, aspects of the present disclosure pertain todigital labeling control system that enables guided wiring. This systemmay be used with any of the embodiments described herein. Specifically,controller 100 includes at least one central processing unit 105 andmemory 115, 125. The processing unit executes computer-executableinstructions and may be a real or a virtual processor. There might alsobe a vector or co/processing unit 110 that enables fast vectorprocessing. In a multi-processing system, multiple processing unitsexecute computer-executable instructions to increase processing power.The controller may further comprise multiple controllers incommunication using wired or wireless connections. These controllers mayuse a distributed operating system to communicate and divide tasks.

The memory 115, 125 may be volatile memory (e.g., registers, cache,RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), orsome combination of the two. For example, the memory can be volatilememory, e.g., static memory cells, as in FPGAs and some CPLDs; ornon-volatile memory, e.g., FLASH memory, as in some CPLDs, or in anyother appropriate type of memory cell. The memory stores softwareimplementing described techniques and tools. The computer system may bedistributed, with multiple processors and associated memory in differentlocations that communicate using wired or wireless network connections.These distributed computing nodes may run simultaneously run the sameprogram using distributed computing techniques.

A controller computing environment may have additional features. Forexample, the computing environment may include storage 120 which mayalso include memory 125, one or more input devices 130, one or moreoutput devices 135, and one or more other communication devices 140.These may include touch screens, keyboards, game controllers, touchpads,LED screens, voice-operated input systems, printers, phone connections,FAX machines, etc. An interconnection mechanism such as a bus,controller, or network interconnects the components of the computingenvironment.

Typically, operating system software stored in memory 115, 125 providesan operating environment for other software executing in the computingenvironment, and coordinates activities of the components of thecomputing environment. The controller computer system 100 can connect toother computer systems through network(s) 150, which may be wired,wireless, or both. Peripherals 155, such as external hard drives,modems, mice, keyboards, zip drives, scanners, 3-d printers, etc. Thecontroller 100 also comprises a display apparatus 180. The displayapparatus 180 can be any display that is capable of displayinginformation in pictorial form. It may be able to accept input from thecontroller or from another source and display that input on a screen. Itmay also be capable of accepting input from the screen and passing thatinformation to the controller. Users 145 may interact with thecontroller 100 through networks 150, the display apparatus 180,communications devices 140, etc.

The computing system 100, like other suitable systems, also includes oneor more computer-readable storage media 160. Media 160 may be ofdifferent physical types. The media 160 may be volatile memory,non-volatile memory, fixed in place media, removable media, magneticmedia, optical media, solid-state media, and/or of other types ofphysical durable storage media (as opposed to merely a propagatedsignal). In particular, a configured medium 160 such as a portable(i.e., external) hard drive, CD, DVD, memory stick, or other removablenon-volatile, non-transient memory medium may become functionally atechnological part of the computer system when inserted or otherwiseinstalled, making its content accessible for interaction with and use bycentral processing unit 105. The removable configured medium 960 is anexample of a computer-readable storage medium 160. Some other examplesof computer-readable storage media 160 include built-in RAM, ROM, harddisks, and other memory storage devices which are not readily removableby users 945. A computer-readable medium should not be considered asignal; neither should a computer-readable memory be considered asignal.

The medium 160 is configured with instructions 170 that are executableby a central processing unit 105; “executable” is used broadly toinclude, human readable source code, such as Java or C++, compiled code,and/or machine code. Executable code also includes code that a runsusing a distributed system, such as a series of controllers andcontrollers that distribute and run complex problems, The medium 160 isalso configured with data 165 which is created, modified, referenced,and/or otherwise used for technical effect by execution of theinstructions 170. The instructions 170 and the data 165 configure thememory or other storage medium 160 in which they reside; when thatmemory or other computer readable storage medium is a functional part ofa given computer system, the computer system may be configured by theinstructions 170 and data 165.

The controller may compromise one or more wiring terminals 175. Thesewiring terminals 175 are used to wire a device to the controller 100.Such devices comprise HVAC equipment, lighting equipment, irrigationequipment, sensors, security equipment, and so forth. Some devicesrequire multiple wiring terminals. Messages may then be sent from thecontroller to the device through the wiring terminal. Messages may alsobe sent from the device to the controller through the wiring terminal.In some embodiments a module attached to the controller. In theseembodiments, the wiring terminals attach to the module. The wiringterminals attach to the controller through the module. The wiringterminal 175 may be directly attached to the controller 105, or may bepart of a module that is itself attached to the controller, receivessignals from the controller, and passes signals to the controller. Oneor more wiring terminals comprise a wiring panel, which may be comprisedof modules.

Although an embodiment may be described as being implemented as softwareinstructions executed by one or more processors in a computing device(e.g., general purpose computer, cell phone, or controller), suchdescription is not meant to exhaust all possible embodiments. One ofskill will understand that the same or similar functionality can alsooften be implemented, in whole or in part, directly in hardware logic,to provide the same or similar technical effects. Alternatively, or inaddition to software implementation, the technical functionalitydescribed herein can be performed, at least in part, by one or morehardware logic components. For example, and without excluding otherimplementations, an embodiment may include hardware logic componentssuch as Field-Programmable Gate Arrays (FPGAs), Application-SpecificIntegrated Circuits (ASICs), Application-Specific Standard Products(ASSPs), System-on-a-Chip components (SOCs), Complex Programmable LogicDevices (CPLDs), and similar components. Components of an embodiment maybe grouped into interacting functional modules based on their inputs,outputs, and/or their technical effects, for example.

II. Exemplary Method and Systems for Creating a Controller Wiring Board

With reference to FIGS. 2 and 3, a a method for creating a controllerwiring board is disclosed. The controller wiring board comprises thecontroller and its wiring terminals knowing what devices are to be wiredto it, and the wiring terminals of the correct type to be wired to thedevices. The controller 310 is operationally able to acceptrepresentation of a physical structure 205, which may be a blueprint,and/or may be in the format in a computer-readable format 305 (e.g.,GBXML, IFC, ResCheck, ComCheck, etc.), may be a room scan (or series ofscans of spaces) created using scanning hardware and/or software; therepresentation of the physical structure may be input using the I/Odevice 315. The wiring terminal 175 may be directly attached to thecontroller 105, or may be part of a module that is itself attached tothe controller, receives signals from the controller, and passes signalsto the controller. One or more wiring terminals comprise a wiring panel,which may be comprised of modules. The wiring terminal itself is able tobe wired to a device that will be controlled by the controller. Suchdevices comprise HVAC equipment, lighting equipment, irrigationequipment, sensors, security equipment, and so forth. Some devicesrequire multiple wiring terminals.

At 210, the controller 100 is operationally able to accept a predefinedunit model from a list of predefined unit models displayed on thedisplay apparatus 180. With reference to FIG. 7, a graphicalrepresentation of at least a portion of a control system is shown. At700 an embodiment is disclosed that allows a user to chose a predefinedunit model 710 from a list of predefined unit modules 710 using aWYSIWYG interface. Specifically, a user selects a type of unit model,such as a sensor, a user input, or an indicator, a heat source, a solarsource, a pump, and so on. Once a unit model has been chosen, a user canuse a cursor, a mouse, their finger, etc. to place the unit model withina representation of the physical structure.

In some embodiments, the following basic graphic concepts are used.

LEFT DRAWERS: Far left drawers 710 provide general categories of unitmodels. When a drawer is opened, specific unit models that can be chosenare exposed. The illustrative example shows Mechanical devices.

MAIN GRAPH PANELS: The graph panel 720 provides an overall drawing of acontroller that is being worked on.

In an illustrative embodiment, once a user has placed the representationof the unit model within the representation of the physical structure,the controller is operationally able to accept the placement location ofthe predefined unit model type 215, at the location chosen. In someimplementations, the physical model may be divided, with just a portiondisplayed at a time. Possible divisions are: Floor 1, Floor 2, Floor 3,Outdoor, etc. Once a division is chosen, further subdivisions may bechosen. Such subdivisions may comprise entry, dining. sitting, kitchen,living, exercise, air studio, bath. The specific divisions andsubdivisions may depend on the physical structure and how it has beenrepresented within the controller.

At 220, the controller is operationally able to create a control systemfor the physical structure, the predefined unit model, and thecontroller model, with the predefined unit model represented as beingwired to the controller. A control system is a system whose output canbe managed (controlled or regulated) by modifying its input. Thisinformation includes inputs and outputs. This information may alsoinclude the specific wiring information needed to wire the unit models.

With reference to FIG. 4, a system that can be used in embodimentsdisclosed herein is shown. A device type 405 comprises a protocol 410,and a device point type 425. “Protocol” may be understood as a broadterm encompassing open protocols such as BACnet, closed protocols, suchas SNA, protocols for individual pieces of equipment, such as whetherthey are analog, the voltage allowances, e.g., 0-10 volts, a singlevalue such as 40 milliamps or 12 volts; the signals that a specificpiece of equipment uses to communicate with a controller, such as on/offvalues, current, voltage, networkable protocol, modulation, frequency,any combination of the above, etc. A device point type is the specifictype of the signals that will transfer down the wire that will be wiredto the terminal, such as (+), (−), (˜), (1w), (O), (C), (A), (B), andothers, as known by those of skill in the art.

With reference to FIG. 5 and FIG. 6, a controller 510 has wiringterminals 515, 520, representations of which are shown as pointlocations 505, 525 on a display apparatus 500. At 605, a plurality ofpoint locations are presented, the point locations representing wiringterminals. An example of point locations representing wiring terminalsis shown at FIG. 5.

At 605, a plurality of point locations (e.g. 505, 525) are presented ona display (e.g. 500). At 610, a plurality of device types 405 arepresented on the display; these device types associated with thecontroller 100, a plurality of device types representing devices able tobe wired to the controller; the device type having a protocol and adevice point type, as described with reference to FIG. 4. At 615, thecontroller responds to a user's selection of a device type and a pointlocation. At 620, a wiring terminal (e.g., 215) represented by a pointlocation (e.g., 505) is modified to match the device point type (e.g.,425). The wiring terminal may be modified using software stored in thememory 115, 125 of the controller 100 and run using the processor 105,110.

With reference to FIG. 7, at an exemplary screenshot is shownillustrating methods and systems described herein. At 705, a pointlocation is shown that represents a wiring terminal on a controller. At710, a plurality of device types are presented on the display, thedevice type representing devices able to be wired to the controller, inthis case, two Three Way Valves. In some implementations, a userspecifies beforehand what devices are in a space that will be controlledby the controller. Those devices that are not yet assigned a controllerlocation then show up on the interface to be moved into position. Insome implementations, a library of possible devices is listed on theinterface. In some implementations, a user is able to specify devicesand their characteristics to be added to a controller. In someimplementations, a wide range of devices are preloaded into thecontroller. A user can select a device type 710, and then move thatdevice type to a wiring terminal (or terminals) e.g., 705. In responseto a user's selection of a device type 710 and a point location 705, acontroller can then modify the wiring terminal represented by the pointlocation to match the device point type.

In some implementations, a module image 715 is displayed on the screen.The module image may be set apart by some method that delineates aspecific module. In the illustrative embodiment, a module has a numberindication 725 “2,” for this module, but the modules may be sequentiallynumbered. There also may be a gap 730 between the modules. Other methodsthat separate modules are also envisioned. All modules may not be filledin a controller. Such unfilled locations may be marked 720, such as bynot having a module number, being in a different color, having differentline width, etc.

In some implementations, the controller comprises modules that plug intothe controller. Devices are wired to the modules. The devices areconnected to the controller through the module. This is explained inmore detail with reference to FIG. 8. At 800, a partial system is shownthat may be used in embodiments disclosed herein. A controller 805comprises a processor 810, memory, 815, and a display apparatus 820. Thecontroller may have one or more controller connectors 825, 830 thatconnect 835 to module connectors 845, 850 in the module 840. The module840 may have wiring terminals 855, 860, that are directly wired 865through device wires 875, 880 to a device 870. This device may be anysort of device, without limitation, that can be wired to a controller.The controller 805 controls the device 870 though the module connectors845, 850 communicating to the controller connectors 825, 830, andvice-versa.

This allows the controller to control the equipment, such as turning aheater on, through the controller connector 825, 830 passing informationthrough the module 840 to the module connectors 845, 850 on the module840 to the device wire 875, 880, and from the device wire 875, 880, tothe device 870. In certain embodiments, a controller may not control aspecific resource at all, but infers its state from sensors, the stateof other resources, and so forth.

With reference to FIG. 9, at 900, a device type 905—a three way valve,in this instance—with three device terminal connection types (alsocalled ‘point types’), (−), (O), and (C) from left to right, can be seenbeing moved to three wiring terminal locations (point locations) 910.With reference to FIG. 10, the device 905, 1005 is moved into the pointlocations shown at 910, the device type covering those three locations1015, when placed. The controller, knowing the terminal locations of thedevice type wires, and their device point type (in this case (−), (O),and (C) 1015) can modify the terminal locations represented by the pointlocations 910 to match those expected by the device (in this case, athree-way valve 905, 1005) that the device type represents.

With reference to FIG. 11, a user can select a device point type 1105 ona display apparatus 820, which may bring up a list of possible devicepoint types available at that controller connector location 825, 830.These device point types 1105 may be associated with a wiring terminal855, 860 associated with a module 840, as explained elsewhere. A usercan then select the desired device point type from the list. In thiscase, the device point type is being changed from a (O) to a (+) 1105.

With reference to FIG. 12, and continuing reference to FIG. 11, a usercan change device protocols. Common protocols can be accessed using theinterface. In an exemplary implementation, a protocol can be changed byselecting the device protocol text location 1205. A number of commonprotocols—allowable protocols—for that device type are revealed 1210. Auser can then select the desired protocol. The controller 805 will thenexpect to be connected to a device with the protocol selected. In someinstances, this triggers the wiring terminal 855 associated with thechosen slot on the controller to modify itself to match the protocolselected by the user. This change may be triggered by a point typemodification request from the controller.

In some embodiments, this allows the controller, among other things, todetermine if the correct device wire has been connected to the correctcontroller connector 825, 830, or the correct module 840 wiring terminal855, 860.

If the user chooses a new device type that has a different number ofdevice point type wiring locations than the original device type, thedisplay will reflect the new device type, including the number of devicepoint wiring locations that are displayed. The device picture and thewiring terminal point types shown on the display will modify what thecontroller wiring terminals associated with the display expect. At 1110,a three-way valve is shown with protocol 24 VAC (3 wire) with threepoint type locations representing three wiring terminals of types (−),(C), and (O). A user may change the three-way valve protocol toDryContact 1305 by selecting protocol options and then clicking on“drycontact”. This can be seen at 1310, where the three-way valve shownat 1110 with three terminal connections has now turned into a DryContactthree-way valve with two terminal connections 1315. FIG. 14 illustratesthe Three Way Valve of FIG. 13 moved one wiring terminal connection tothe left. This leaves the right wiring terminal location 1405 empty.

With reference to FIGS. 15, 16, and 17, screenshots 1500, 1600, and 1700are disclosed that show an embodiment allowing a device to be selectedthat has been already placed within the controller representation, andthen changed to a different template. In this example, the deviceselected is a temperature sensor with a 0-10V protocol 1505. A userselecting the device can display a menu of templates 1605 that can beused with the device 1505, here “RTD”, “Thermistor”, “0-10V”, and“2-10V”. The current device has the device point types (−) and (+) 1610.As shown at 1700, the user selected the template RTD 1705, which changesthe device type template (and thus, the protocol) 410 to RTD 7105 andchanges the device point types 425 from (−), (+) 1010 to (+), (−) 1710.

With reference to FIGS. 18 and 19, a controller 1800 is disclosed with amodule 1815 that has wiring terminal pins 1210 which can connect adevice wire to the controller 1800. A device wire is placed in theterminal contact wiring pin 1210. A module 1900 has a set of terminals1905 that connect the device wire to terminals 1805 on the controller.The modules, in some embodiments, further comprise a module circuitboard with memory and software, which can accept a signal from thecontroller, the signal comprising a designation of a wiring pin 1810 tobe modified on the module and a point type modification request (e.g.,what type of point type should the pin be?). With this information, themodule circuit board has hardware and software that can change thedesignated wiring pin to the type of modification that has beenrequested.

FIG. 20 shows some of the aspects of a module 2000, with emphasis on thecircuit board 2005 and the wiring terminals 2030, 2050, 2070. In someembodiments, the module itself 2000 can make decisions and do processingusing hardware and memory 2010 on its circuit board 2005. The memory maycomprise software. A controller 1800, though a controller terminal 1805may send messages to a module terminal/module connector 1905. The moduleterminal may then send those messages to its circuit board 2005, whichmay then process the messages and make decisions. This may result in analtered signal from the signal originally sent by the controller. Thisaltered signal may then be passed to a wire terminal 2030, 2050, 2070,which sends it to a device 2080 This process may work the opposite wayas well. A device 2080 sends a message through a wire terminal 2030 tothe circuit board 2005, which may then process the message, changing thesignal. The changed signal is then sent through the moduleterminal/module connector 2085 to the controller.

In some embodiments, the controller may send a signal through the moduleterminal to the wire terminal without making any changes. This may be apoint type modification request. Similarly, in some implementations, adevice may send a signal to the controller through the module 2000without the module making any changes.

In some embodiments, modules 2000 can do processing and make decisionsusing the hardware and memory 2010 on their circuit board 2005. Forexample, a controller can send a signal 2075 to a module telling it toturn a light off on a device. The module may be able to determine whichof its wire terminals 2030, 2050, 2070 are associated with the device,and then send the signal 2085 to the device 2080. In some embodimentsthe module may be sent information and which specific wire terminal2030, 2050, 2070 the specific information is to be sent to. The samemodule may be able to handle both situations.

In an embodiment, a module has three wire terminals, wire terminal A2030, wire terminal B 2050, and wire terminal C 2070. These wireterminals may be of different functions, eg., type 1, type 2, type 3,type 4, type 5, or type 6. Some terminals may have two or more suctions.The circuit board 2005 has hardware associated with the wire terminalsthat can be enabled, allowing the wire terminals to be of any of thosethree types. Wire terminal A 2030 has, associated with it in the circuitboard, hardware for three types: wire terminal A Type 1 2015, wireterminal A Type 2 2020, and wire terminal A type 3 2025. Wire terminalsB, similarly has the hardware potential to be one (or more) of the threetypes as well—Wire terminal B Type 1 2035, wire terminal B Type 2 2040,and wire terminal B type 3 2045. Wire terminal C has different typesassociated with it: Wire terminals C Type 4 2055, wire terminals C Type5 2060, and wire terminal C type 6 2065. The controller can tell themodule 2000 through its link with 2075 with module connector 2085 thatwire terminal A is supposed to be type 1. The module 2000 may then beable to use its hardware/memory 2010 on its circuit board to send asignal 2090 telling a wire terminal A to be of Type 3. The module 2000may be able to connect wire terminals A type 3 2025 to wire terminal A,making wire terminal A of type 3. In some embodiments a single wireterminal may be multiple wire terminal types; for example, wire terminalA could be both type 2 2020 and type 3 2025.

In an embodiment, images presented on the display are shown to a user inWYSIWYG (what you see is what you get) form. WYSIWYG denotes that therepresentation on the screen represents, in visual format, the actualcontroller wiring system.

In an embodiment, the module is 2.84″×1.91″×1.11″ inches. In anotherembodiment, the module is smaller than 3″×2″×1.25″.

In some implementations, the following modules and module options exist:

Multi Cell Module

-   -   A Multi Cell module may comprise the following options:    -   A Ground connection (through a FET)    -   a 24 VAC power connection (through a Triac)    -   A 0-10V DC analog voltage (via a DAC)    -   A Strong 1-wire pullup (via a FET)    -   A High-range voltage divider: It is not known what will be        plugged in, so the terminal must anticipate the highest        tolerated value (480 volt) if someone plugs in an unknown signal        with unknown voltage measure. First, the system checks with high        range ability, if it sees a tiny signal, it can switch to low        range, then measure the small signal. This way, the module can        be safe the whole time.    -   A Low range voltage divider    -   A 4-20 mA current shunt    -   A 24 VAC current shunt    -   A DC offset injector that can measure both halves of an DC        waveform    -   Real-time current monitoring and real-time voltage monitoring.

Power Cell Module (Also Known as a Lighting Module)

-   -   A power cell module may have some combination of 2× power        control blocks. 120/240 VAX output—2 amps. 24 VAC output—2 amps,        AC motor control,    -   The power module may also comprise dimmable lighting, real-time        current monitoring and real-time voltage monitoring.

Motor Cell Module

-   -   A motor cell module may have some combination of 2× DC motor        control blocks,    -   Up to 6 12/24 VDC high current motor drivers, can switch 2050        volt AC up to 10 amps    -   A way to measure voltage    -   A chip that measure current—the current that gets consumed        passes through, both module connections, detect how much voltage        being used and current being used, led's too.    -   These modules may also comprise PWM speed control, real-time        current monitoring, real-time voltage monitoring,        overcurrent/torque protection, and tachometer feedback.

Relay Cell Module

-   -   2 electromechanical relays    -   The relays have 3 connections (normally open, common, normally        closed)    -   The relay module may be able to measure voltage and current for        the common connector on the relays.    -   Relay modules may also provide for real-time current monitoring,        real-time voltage monitoring, and overcurrent protection.

Different modules may have different features. The options shown hereare illustrative embodiments.

Reference is made herein to exemplary embodiments such as thoseillustrated in the drawings, and specific language is used herein todescribe the same. But alterations and further modifications of thefeatures illustrated herein, and additional technical applications ofthe abstract principles illustrated by particular embodiments herein,which would occur to one skilled in the relevant art(s) and havingpossession of this disclosure, should be considered within the scope ofthe claims.

We claim:
 1. A method of configuring a wiring panel for a controller,the method comprising: presenting, on a display at least two moduleimages, the at least two module images representing at least two modulesoperably connected to the controller; presenting, within the at leasttwo module images, a plurality of point location srepresentingrespective wiring terminals within a module of the at least two modules;presenting on the display, a plurality of device types representingrespective devices capable of being operably connected to at least oneof the wiring terminals; allowing a user to drop a device type of theplurality of device types onto at least one point location of theplurality of point locations; and responsive to the user dropping thedevice type onto the at least one point location, causing the controllerto associate a device of the plurality of devices with the at least onepoint location.
 2. The method of claim 1, wherein the at least twomodule images indicate that the at least two modules have differenttypes of wiring terminals.
 3. The method of claim 2, wherein the atleast two module images indicate that the at least two modules havemodule types, the module types of the at least two modules comprisemotor, cell relay cell, power cell, or multi cell, the module typesdefining the wiring terminals within the modules.
 4. The method of claim3, wherein the at least two module images indicate that the wiringterminals of the motor cell module type comprise at least one DC motorcontrol block terminal and at least one VDC high current motor driverterminal.
 5. The method of claim 3, wherein the at least two moduleimages indicate that the wiring terminals of the relay cell module typecomprise at least one electromechanical relay, the electromechanicalrelay having three connections.
 6. The method of claim 5, wherein the atleast two module images indicate that the three connections of theelectromechanical relay comprise a normally open connections, a commonconnection, and a normally closed connection.
 7. The method of claim 3,wherein the at least two module images indicate that the wiringterminals of the power cell module type comprise at least one powercontrol blocks, at least one 120/240 VAX output, and at least one 24 VACoutput.
 8. The method of claim 7, wherein the at least two module imagesindicate that the wiring terminals of the power cell module furthercomprise at least one AC motor control.
 9. A system for controllerwiring board configuration, the system comprising: a processor; a memoryin operable communication with the processor; a display device softwareresiding in the memory and executable with the processor to perform amethod which: presents, on the display at least two module images, theat least two module images representing at least two modules operablyconnected to a controller; presents, within the at least two moduleimages, a plurality of point locations, each point location representinga wiring terminal within a module of the at least two modules within thecontroller; presents on the display a plurality of device typesrepresenting respective devices capable of being operable connected toat least one of the wiring terminals; allows a user to drop a devicetype of the plurality of device types onto at least one point locationof the plurality of point locations; and responsive to the user droppingthe device type onto the at least one point location, causes thecontroller to associate a device of the plurality of devices with the atleast one point location.
 10. The system of claim 9, wherein the devicetype comprises at least one device point type.
 11. The system of claim10, further comprising the at least two modules, wherein the module ofthe at least two modules further comprises a module circuit board withmemory and software.
 12. The system of claim 11, wherein the module ofthe at least two modules uses its module circuit board to modify itswiring terminal associated with the at least one point location to matchthe at least one device point type.
 13. The system of claim 12, whereinthe module of the at least two modules modifies its wiring terminal byactivating hardware within the module circuit board.
 14. The system ofclaim 12, wherein the module of the at least two modules modifies itswiring terminal using the software of the module circuit board.
 15. Thesystem of claim 12, wherein the module of the at least two modulesfurther comprises a hardware enabled module function.
 16. Anon-transitory machine-readable storage medium configured withexecutable instructions to perform a method for configuring a wiringpanel for a controller, the method comprising: presenting, on a displayassociated with the controller, a module image representing a moduleoperably connected to the controller; presenting, within the moduleimage, a plurality of point locations, each point location representinga wiring terminal within the module of the controller; presenting on thedisplay associated with the controller, a plurality of device typesrepresenting devices able to be wired to the wiring terminal through thecontroller; and allowing a user to drop a device type of the pluralityof device types onto a point location responsive to the user droppingthe device type onto the at least one point location, causing thecontroller to associate the device of the plurality of devices with thepoint location.
 17. The non-transitory machine-readable storage mediumof claim 16, wherein the display is a part of the controller.
 18. Thenon-transitory machine-readable storage medium of claim 17, wherein thedisplay and the wiring terminal can be seen simultaneously on thecontroller.
 19. The non-transitory machine-readable storage medium ofclaim 17, wherein the controller controls the wiring terminal throughthe module.
 20. The non-transitory machine-readable storage medium ofclaim 18, wherein the controller sends a message to the module, themodule then modifying the message and sending it to the wiring terminal.